Apparatuses which can capture an image of a field of view, having objects of interest, such as biological particles, are well known in the art. Referring to FIG. 1, there is a shown a schematic block level diagram of an apparatus 10 of the prior art. The apparatus 10 is a urinalysis instrument marketed by International Remote Imaging Systems, Inc. of Chatsworth, Calif. under the trademark "YELLOW IRIS." The apparatus 10 comprise a microscope 12 directed to focus on a microscopic slide 14 or a flow cell 14, of the type disclosed in U.S. Pat. No. 4,338,024. The image of the field of view is captured by a CCD camera 16, which is a raster scan type device. The CCD camera 16 outputs a raster scan electrical signal which is supplied to a digitizer 18. The digitizer 18 segments the waveform into a plurality of electrical signals with each electrical signal representing a pixel of the image in the field of view. The digitizer 18 further digitizes the amplitude of each electrical signal to produce a greyscale. In the preferred embodiment, the digitizer 18 produces a digital signal having 256 greyscale values. The digitized signals in raster scan format are supplied to a comparator 20 to which a threshold value 22 is also supplied. In the event the digitized signal exceeds the threshold signal 22, then the comparator 20 outputs a binary signal of "1." In the event it does not, the comparator 20 outputs a binary signal of "0."
From the comparator 20, the binary signals are supplied to a shift register 24. The shift register 24 delays and stores the binary signals for two lines of the scan so that the signals in the shift register 24 may be operated upon by a boundary generator 26. The boundary generator 26 operates upon the pixel values stored in the shift register 24 to generate data signals in which the boundary pixels of an object in the field of view have non-zero values with all other pixel values, outside of the boundary and inside the boundary of the particle being zero. This data is then supplied to a boundary memory 28, and is stored therein in an array form with a plurality of pixels arranged in a plurality of rows and columns in the same manner as the field of view is imaged by the microscope 12.
The address to store the data signal from the boundary generator 26 is generated by an address generator 30. The address generator 30 comprises an X counter 32 which is incremented by a clock signal. It is reset by either the horizontal sync or the vertical sync signal passing through an OR gate 34. The address generator 30 also comprises a Y counter 36. The Y counter 36 counts the number of horizontal sync signals, and is reset by the vertical sync signal. The horizontal sync signal and the vertical sync signal are, of course, generated by the CCD camera 16.
The outputs of the X counter 32 and the Y counter 36 are supplied as address signals to the boundary memory 28. In this manner an array of pixel values are stored in the boundary memory 28 based upon the address signals from the address generator 30.
The boundary memory 28 is then accessed by a computer 40. The computer 40 locates the first pixel in the boundary memory 28 that has a boundary value, or a non-zero pixel value. From there, the edge of the particle is then traced based upon the look-up table 42 and is displayed on a display 44.
The foregoing apparatus 10 and the method of operating it is fully disclosed in U.S. Pat. No. 4,538,299.
Referring to FIG. 2a, there is shown a schematic view of an example of an output of the digitizer 18. As previously discussed, the output of the CCD camera 16 is a raster scan signal. Therefore, not all of the pixel signals would be present in an array form at the same time as depicted in FIG. 2a. However, conceptually, the output of the digitizer 18 is an array of pixel images having certain values ranging from zero to 255 greyscale. If, for example, the threshold 22 is set at 64, then the output of the comparator 20 would be an array of pixel values shown in FIG. 2b, wherein pixel values along the boundary and inside the boundary of a particle, and "noise" will have the value of "1" and all the rest of the pixels will have a "0" value. As a result of the operation by the boundary generator 26, FIG. 2c depicts an example of an array of pixels stored in a boundary memory 28, wherein boundary pixel values of the particle detected have non-zero values with pixel values within the boundary and outside the boundary of being "0". Again, this description can be found in U.S. Pat. No. 4,538,299.
The shortcoming of the apparatus 10 of the prior art is that in order for the computer 40 to locate the first pixel having the characteristic of interest, i.e. boundary, it must scan through the boundary memory 28 starting with X=1, Y=1; (or (1,1)), . . . (8,1), (1,2), (4,2) until the first pixel of interest (having the value of 76) is located at (5,2). As can be seen, if the fluid of interest is dilute, such as urine, where many images may not have any particle of interest and hence no boundary pixel, the computer 40 would have wasted a lot of processing time. This limits the throughput of the apparatus 10.
In an improvement to the apparatus 10 shown in FIG. 1, International Remote Imaging Systems, Inc. of Chatsworth, Calif., marketed an apparatus 50 shown in FIG. 3. The apparatus 50 shown in FIG. 3 is substantially similar to the apparatus 10 shown in FIG. 1. Therefore, like numerals will be designated for like components. The apparatus 50 comprises all of the components shown in FIG. 1 with the addition of an index counter 52. The index counter 52 receives as an address signal the output of the Y counter 36. Thus, the index counter 52 has as many addressable locations in the Y direction as there are in the boundary memory 28. In addition, the output of the boundary generator 26 is supplied to a comparator 54 to which a binary signal of "1" has also been supplied. In the event the boundary generator 26 generates a non-zero pixel value, then the output of the comparator 54 is a binary signal of "1" which is then supplied to the index counter 52. The output of the comparator 54 increments the particular counter in index counter 52 addressed by the address from the Y counter 36. Finally, at the first location addressed by the output of the Y counter 36, the value of the X counter 32 is stored.
Referring to FIG. 4, there is shown in FIG. 4a and 4b the same schematic representation of an example of an array of pixel values for the output of the comparator 20 and the output of the boundary generator 26, respectively. In addition, FIG. 4c shows an example of an array of pixel values that is stored in the index counter 52. As previously discussed, the index counter 52 has as many address locations in the Y dimension as there are in the boundary memory 28. Thus, for the example shown in FIGS. 4b and 4c, each has 8 addressable "vertical" locations. For the index counter 52, the first column of data is a count of the number of pixels in that particular row (Y dimension) that have pixels of interest. Thus, for Y=1, there are no pixels having non-zero values. Therefore, the value in the column under # for Y=1 is zero. A second column in the index counter 52 labeled "L" is an address from the X counter 32 of the location of the first pixel having the characteristic of interest, i.e., the boundary of the particle, in that row. Thus, for example, in the address Y=2, in the second row of FIG. 4b, one pixel has a non-zero value and that is stored in the column under #. In addition, the location of this pixel is X=5 with 5 stored under the column "L."
In the operation of the apparatus 50 shown in FIG. 3, the computer 40 initially scans the index counter 52 until the first non-zero entry for # is found. Thereafter, the computer 40 would move to the address for the index counter 52 (e.g., Y=2) and to the X value under the column of "L." Thus, the computer 40 would then start the identification of the pixel of interest at X=5, Y=2. As each pixel within a particular row is "traced out" per the teaching of U.S. Pat. No. 4,538,299, the "L" value in that row is then zeroed out or is blanked out. In addition, the value under the column of # is decremented by 1 for each one pixel being traced out. For analysis of dilute fluids such as urine, the apparatus 50 in general is satisfactory for two reasons. First, it can rapidly scan an index counter 52 through N number of positions (where N represents the number of horizontal scans or rows of the array of pixels), to quickly determine whether or not there are any particles of interest in the field of view. This is in contrast to the apparatus 10 shown in FIG. 1 where a scan of N.times.M pixels must be made (where M is the number of horizontal pixels). Secondly, if there is a particle in the field of view, the method and apparatus as suggested by this prior art can quickly locate the starting point of the pixel having the characteristic of interest without scanning all the pixels preceding it in a raster scan fashion to arrive at the pixel having the characteristic of interest. Thus, the computer 40 can quickly begin the processing at the pixel location (5,2).
The problem, however, arises when there is more than one particle having pixels with characteristics of interest in the same field of view. For biological fluids which are not dilute, such as blood, this would be very common. Referring to FIG. 4d, there is shown an example of an image of a field of view having particles P1 and P2. The X location of the first pixel in any row (Y) having the characteristic of interest are identified (i.e., X1, X2, X3, X4, X5 and X6). A representation of the contents of the index counter 52 per the apparatus 50 of the prior art is shown in FIG. 4e. For the row Y=2, there are two pixels having characteristics of interest with the first pixel located at X=X1. Similarly, for row Y=3, there are four pixels with characteristics of interest in that row with the first having the value of X=X2.
The apparatus 50 operates by scanning the # column until the first non-zero is encountered. This occurs for Y=2. Thereafter, it would use the corresponding "L" value of X1 to proceed to the location (X1,2) to begin the edge tracing process. As previously discussed, the pixels having the characteristic of interest are linked to one another by the value of the pixels, all as set forth in the method and apparatus as disclosed in U.S. Pat. No. 4,538,299. Thus, as each pixel is traced out, the value in the # column is decremented and the value under the "L" column is blanked out or zero. When the particle P1 is completely traced out, the resultant values in the index counter 52 are shown in FIG. 4f.
As can be seen, there still remains the particle P2 with its pixels having the characteristics of interest. However, although the method would start by scanning down until the first non-zero # value is detected (Y=2), the location for the pixel in that row, (namely X=X7) is not stored in the index counter 52. Thus, the computer 40 would then need to scan the row Y=2 until the value of X=X7 is encountered. Thereafter, it can begin the process of edge tracing. As can be seen, this again, wastes computer resources if there are many particles in the same field of view, raster scan of each particle, after the first particle, must be made to find the location of the first pixel in that subsequent particle to be processed.
Accordingly, the present invention is a method and an apparatus to improve the time to locate the pixels having characteristics of interest in a field of view and in particular where more than one particle is imaged in the same field of view.